<?php
/*
 * (C) Copyright 2013 Torsten Gorath (http://www.blauesdach.de/).
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * Contributors:
 *     Torsten Gorath
 */
require_once $basedir."/inc/mitarbeiterAbwesend.php";
$mitarbeiter_id = isset($_REQUEST['mitarbeiter_id'])?$_REQUEST['mitarbeiter_id']:'';
$reason = isset($_REQUEST['reason'])?$_REQUEST['reason']:'';
$anfang_am = isset($_REQUEST['anfang_am'])?$_REQUEST['anfang_am']:'';
$ende_am = isset($_REQUEST['ende_am'])?$_REQUEST['ende_am']:'';
$krankmeldung_ok = isset($_REQUEST['krankmeldung_ok'])?($_REQUEST['krankmeldung_ok']=='true'):false;
$bemerkung = isset($_REQUEST['bemerkung'])?$_REQUEST['bemerkung']:'';
if($action=="save_abwesend") {
    $id = isset($_REQUEST['id'])?$_REQUEST['id']:"";
    $abwesendheit = new MitarbeiterAbwesend($id);
    $abwesendheit->setMitarbeiterId($mitarbeiter_id);
    $abwesendheit->setAnfangAm($anfang_am);
    $abwesendheit->setBemerkung($bemerkung);
    $abwesendheit->setEndeAm($ende_am);
    $abwesendheit->setKrankmeldungOk($krankmeldung_ok);
    $abwesendheit->setReason($reason);
    $abwesendheit->save();
    echo '{"result":';
    if($abwesendheit->getId()!="") {
        echo 'true,';
        $abwesendheiten = MitarbeiterAbwesend::getAll($mitarbeiter_id, false);
        echo '"items":[';
        for($i=0;$i<count($abwesendheiten);$i++) {
            echo json_encode($abwesendheiten[$i]->getJsonData());
            if($i+1<count($abwesendheiten)) {
                echo ",";
            }
        }
        echo ']';
    } else {
        echo 'false';
    }
    echo '}';
}
if($action=="get_abwesend") {
    $abwesenheit = new MitarbeiterAbwesend($_REQUEST['id']);
    echo '{';
    echo '"id":"'.$abwesenheit->getId().'",';
    echo '"mitarbeiter_id":"'.$abwesenheit->getMitarbeiterId().'",';
    echo '"anfang_am":"'.$abwesenheit->getAnfangAm().'",';
    echo '"ende_am":"'.$abwesenheit->getEndeAm().'",';
    echo '"bemerkung":"'.$abwesenheit->getBemerkung().'",';
    echo '"reason":"'.$abwesenheit->getReason().'",';
    echo '"krankmeldung_ok":'.($abwesenheit->isKrankmeldungOk()?"true":"false");
    echo '}';
}
if($action=="search") {
    $abwesenheiten = MitarbeiterAbwesend::search($_REQUEST['value']);
    echo '{"items":[';
    for($i=0;$i<count($adresses);$i++) {
        echo json_encode($adresses[$i]->getJsonData());
        if($i+1<count($adresses)) {
            echo ',';
        }
    }
    echo ']}';
}
?>